Dynamic Data Structures for Taskgraph Scheduling Policies with Applications in OpenCL Accelerators
نویسندگان
چکیده
OpenCL is an emerging open framework for parallel programming in heterogenous systems. Devices compliant with OpenCL need to schedule the execution of submitted jobs with no (or only very imprecise) estimates of execution times, but respecting dependencies among them, which are given in the form of directed acyclic graph. This problem is known as stochastic taskgraph scheduling, stochastic scheduling with precedencies, or stochastic scheduling with data dependencies. We study the complexity of implementing static out-of-order policies for taksgraph scheduling, which approach optimality in the long run, under certain assumptions. We present a simple data structure allowing for the “what next” query of such scheduling policies to be answered in time O(1), while vertices can be added in time O(1).
منابع مشابه
Extending OmpSs to support CUDA and OpenCL in C, C++ and Fortran Applications
CUDA and OpenCL are the most widely used programming models to exploit hardware accelerators. Both programming models provide a C-based programming language to write accelerator kernels and a host API used to glue the host and kernel parts. Although this model is a clear improvement over a low-level and ad-hoc programming model for each hardware accelerator, it is still too complex and cumberso...
متن کاملOperating System Support for Fine-grained Pipeline Parallelism on Heterogeneous Multicore Accelerators
On-chip special-purpose accelerators are a promising technique in the achievement of high-performance and energy-efficient computing. In particular, fine-grained pipelined execution with multicore accelerators is suitable for streaming applications such as JPEG decoders, which consist of a series of different tasks and process streaming data. CPUs that assign each task to appropriate accelerato...
متن کاملToward OpenCL Automatic Multi-Device Support
To fully tap into the potential of today heterogeneous machines, offloading parts of an application on accelerators is no longer sufficient. The real challenge is to build systems where the application would permanently spread across the entire machine, that is, where parallel tasks would be dynamically scheduled over the full set of available processing units. In this paper we present SOCL, an...
متن کاملA Balanced Programming Model for Emerging Heterogeneous Multicore Systems
Computer systems are moving towards a heterogeneous architecture with a combination of one or more CPUs and one or more accelerator processors. Such heterogeneous systems pose a new challenge to the parallel programming community. Languages such as OpenCL and CUDA provide a program environment for such systems. However, they focus on data parallel programming where the majority of computation i...
متن کاملEfficient and portable multi-tasking for heterogeneous systems
Modern computing systems comprise heterogeneous designs which combine multiple and diverse architectures on a single system. These designs provide potentials for high performance under reduced power requirements but require advanced resource management and workload scheduling across the available processors. Programmability frameworks, such as OpenCL and CUDA, enable resource management and wor...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2011